[branch-4.1][fix](profile) guard execution profile access#65442
Open
shuke987 wants to merge 1 commit into
Open
[branch-4.1][fix](profile) guard execution profile access#65442shuke987 wants to merge 1 commit into
shuke987 wants to merge 1 commit into
Conversation
Contributor
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
Collaborator
Author
|
run buildall |
Collaborator
Author
|
/review |
Contributor
There was a problem hiding this comment.
Automated review summary for PR 65442 at head 6d50b354a55c53e35fc51eb5c66a9c80343f4687.
No blocking issues or inline findings were identified.
Critical checkpoints:
- PR scope/head verified with GitHub metadata: one modified file,
fe/fe-core/src/main/java/org/apache/doris/common/profile/ProfileManager.java. - Existing review context checked: no prior inline review threads or review comments were present, so there were no duplicates to suppress.
- Lock-discipline review:
queryIdToExecutionProfilesis a regular map, and the observed mutation/removal paths use the profile manager write lock. The newgetExecutionProfile(TUniqueId)read lock is consistent with those paths and with nearby read-locked access inmarkExecutionProfileFinished. - Caller/lifetime review:
QeProcessorImpl.processQueryProfileonly looks up theExecutionProfileand schedules the existing async update. I did not find a new lock-order, reentrancy, or semantic issue introduced by the getter synchronization. - Backport/test-scope review: the upstream master PR also changed
query_profile/dml_profile_safe.groovy, but that suite is not present on this branch. The branchquery_profilesuites I checked do not containclean all profile, matching the PR's backport note. - Validation: after fetching the exact base SHA,
git diff --check 515030f65abb5fdfd0a66605a29f5f12f42f9b13 6d50b354a55c53e35fc51eb5c66a9c80343f4687 -- fe/fe-core/src/main/java/org/apache/doris/common/profile/ProfileManager.javapassed. I did not run FE unit tests or regression suites in this runner.
User focus: no additional user-provided review focus was supplied.
Subagent conclusions:
optimizer-rewrite: no candidate findings; no optimizer/rewrite, semantic-equivalence, parallel join, or aggregate-path issue found.tests-session-config: no candidate findings; no regression-test, expected-output, session/config propagation, compatibility, or style issue found.- Convergence round 1 ended with both live subagents returning
NO_NEW_VALUABLE_FINDINGSfor the same final ledger and proposed comment set.
Contributor
FE Regression Coverage ReportIncrement line coverage |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Backport the
ProfileManager.getExecutionProfile()read-lock fix from#65353 to
branch-4.1.Why
queryIdToExecutionProfilesis updated and removed under the profile manager'swrite lock. Reads should use the corresponding read lock to keep access
consistent with the map's lock discipline.
Backport Notes
The master PR also marks
query_profile/dml_profile_safe.groovyasnonConcurrent, because that master-only suite runsclean all profile.branch-4.1does not containdml_profile_safe.groovy, and no query_profilesuite on this branch uses
clean all profile, so that part is intentionally notbackported.
Validation
git diff --checkLocal FE build/regression was not run in this manual pick pass.